<?php

define('RU_CASE_NOMINATIVE', 1); // nominative именительный падеж, номинатив
define('RU_CASE_GENITIVE',   2); // genitive родительный падеж, генитив
define('RU_CASE_DATIVE',     3); // dative дательный падеж, датив
define('RU_CASE_ACCUSATIVE', 4); // accusative винительный падеж, Аккузатив
define('RU_CASE_ABLATIVE',   5); // Ablative, Творительный(отложительный) падеж, аблятив (объединяет инструментатив, локатив и аблятив)
define('RU_CASE_LOCATIVE',   6); // locative местный падеж, локатив

define('RU_CASE_VOCATIVE',   7); // vocative звательный падеж, вокатив
define('RU_CASE_LOCATIVE2',  8); // Местный (локатив, или второй предложный)
define('RU_CASE_PARTITIVE',  9); // partitive партитивный падеж, партитив частичный падеж (обознчает объект как целое, из которого берется часть; напр. в русском: чая (чашка), - т.н. второй родительный)
define('RU_CASE_ZHDATIVE',  10); // :) ждательный
/*
именительный падеж — nominative, subjective case
дательный падеж — dative (case)
винительный падеж — accusative (case)
инструментальный падеж — instrumental case
местный падеж — locative, local case
звательный падеж — nominative of address, vocative
сравнительный падеж — (в финно-угорских языках) equative
изобразительный падеж — (в финно-угорских языках) essive
отделительный падеж, отложительный падеж — ablative
объектный падеж, косвенный падеж — objective, oblique case, objective case
общий падеж — common case
притяжательный падеж — possessive
родительный разделительный падеж — partitive genitive
творительный падеж — instrumental (case); ablative
- родительный падеж genitive (case) генетив
- падеж приближения allative аллатив
*/

define('RU_GENDER_MASCULINE',  1); // мужской masculine
define('RU_GENDER_FEMININE',   2); // женский feminine
define('RU_GENDER_NEUTER',     3); // средний neuter

define('RU_SINGULAR_FORM', 1); // единственное число
define('RU_PLURAL_FORM',   2); // множественное число

class RuWordForm
{
    public $case;
    public $gender;
}
	/**
	 * Enter description here...
	 *
	 * @param unknown_type $num
	 * @return int:
	 *     1 -- Единственное число в именительном падеже.
	 *     2 -- Единственное число в квази-родительном падеже
	 *          (на самом деле именительном, винительном, звательном двойственном)
	 *     3 -- Множественное число в родительном падеже.
	 */
function RuLanguageGetForm($n)
{
    if ((($n >= 11) && ($products_count <= 19)) || ($last_digit == 0) || ($last_digit >= 5) ) {
        return 3;
    } else if (($last_digit >= 2) && ($last_digit <= 4)) {
        return 2;
    } else {
        return 1;
    }
}
    /**
     * 0 — Дом (21 дом, 101 дом)
     * 1 — Дома (2 дома, 144 дома)
     * 2 — Домов (18 домов, 0 домов, 100 домов)
     */
function RuLanguageGetForm($n)
{
	return (($n % 10 == 1) && ($n % 100 != 11)) 
	? 0 
	: (($n % 10 >= 2) && ($n % 10 <= 4) && (($n % 100 < 10) || ($n % 100 > 20)))
	    ? 1 
	    : 2;
}
		    
?>